<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div id="app"></div>

    <script>
      //箭头函数
      // const fn = () => {
      //   console.log(this);
      //   console.log(arguments);

      // }

      // console.log(fn.__proto__);

      //let const

      // 跟var的区别

      //解构赋值
      // const arr = [1,2,3]

      // const [a,...b] = arr

      // console.log(a);
      // console.log(b);
      // console.log(c);

      //模版字符串
      // const app = document.querySelector('#app');
      // let flag = true

      // app.innerHTML = `<span>${flag ? 1 : 0}</span>`

      //includes

      //默认参数
      // function fn(a = 1, b = 1) {
      //   console.log(a)
      //   console.log(b)
      // }

      // fn()

      //形参解构
      // function fn({ username: a }) {
      //   console.log(a)
      // }

      // fn({ username: 'harry' })

      //形参的剩余参数

      // function fn(...b) {
      //   // console.log(a)
      //   const [x, y, z, w, v = 1] = b
      //   console.log(x)
      //   console.log(y)
      //   console.log(v)
      // }

      // fn(1, 2, 3, 4, 5)

      //展开运算符

      // const arr = [1, 2, 3, 4]

      // const arr1 = [...arr]

      // console.log(arr1)

      //对象的简写

      // const a = 1

      // const obj = {
      //   a,
      // }

      // console.log(obj)

      // async await

      //?.

      //import export

      // Set Map

      // es6新增的两个数据类型

      // const reg = /1/

      // console.dir(reg)

      //Map 常用于数据存储（查询表）

      //Set 常用于数组去重

      //https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set

      //https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map
      // const obj = {
      //   username: '123',
      // }

      // for (let key in obj) {
      //   console.log(typeof key)
      // }

      // const myMap = new Map()

      // myMap.set('a', 1)
      // myMap.set('a', 2)

      // // for (let key of myMap) {
      // //   console.log(typeof key)
      // // }

      // console.log(myMap)

      // const obj = {
      //   a: [1, 2, 3],
      //   b: 2,
      // }
      // console.log(obj['a'][1])

      // console.log(myMap.get(undefined))

      //数组去重
      // const mySet = new Set([1, 1, 2, 3])

      // console.log(mySet)

      const arr = [1, 1, 2, 3, 3]
      const mySet = [...new Set(arr)]

      console.log(mySet)

      // console.log(mySet)

      // const myMap = new Map()

      // const scores = new Map([
      //   ['Tom', 95],
      //   ['Jerry', 75],
      //   ['Harry', 60],
      // ])

      // const scores = {
      //   Tom: 95,
      //   Jerry: 75,
      //   harry: 60,
      // }

      // console.log(scores.Tom)

      // console.log(scores.get('Tom'))
    </script>
  </body>
</html>
